
package com.jf.cloud.common.rocketmq.config;

import com.jf.cloud.common.constant.Constant;

/**
 * nameserver用;分割
 * 同步消息，如果两次
 * @author zz
 * @date 2021/3/25
 */
public class RocketMqConstant {

    // 延迟消息 1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h (1-18)

    /**
     * 取消订单时间，实际上30分钟
     */
    public static final int CANCEL_ORDER_DELAY_LEVEL = 16;

    /**
     * 订单取消时间 30分钟
     */
    public static final int CANCEL_TIME_INTERVAL = 30 * 60 * 1000;

    /**
     * 更新套餐销量时间，实际上5分钟
     */
    public static final int COMBO_ORDER_DELAY_LEVEL = 2;

    /**
     * 默认发送消息超时时间
     */
    public static final long TIMEOUT = 3000;

    /**
     * 商品搜索topic
     */
    public static final String CANAL_TOPIC = Constant.NAME_SPACE + "canal-topic";

    /**
     * 库存解锁topic
     */
    public static final String STOCK_UNLOCK_TOPIC = Constant.NAME_SPACE + "stock-unlock-topic";

    /**
     * 优惠券解锁topic
     */
    public static final String COUPON_UNLOCK_TOPIC = Constant.NAME_SPACE + "coupon-unlock-topic";

    /**
     * 优惠券赠送topic
     */
    public static final String COUPON_GIVE_TOPIC = Constant.NAME_SPACE + "coupon-give-topic";
    /**
     * 等级提升赠送优惠券topic
     */
    public static final String LEVEL_UP_COUPON_GIVE_TOPIC = Constant.NAME_SPACE + "level-up-coupon-give-topic";

    /**
     * 等级降低失效会员优惠券topic
     */
    public static final String LEVEL_DOWN_COUPON_EXPIRE_TOPIC = Constant.NAME_SPACE + "level-down-coupon-expire-topic";

    /**
     * 订单取消
     */
    public static final String ORDER_CANCEL_TOPIC = Constant.NAME_SPACE + "order-cancel-topic";

    /**
     * 删除购物车topic
     */
    public static final String DELETE_SHOP_CART_ITEM_TOPIC = Constant.NAME_SPACE + "delete-shop-cart-item-topic";

    /**
     * 订单支付成功
     */
    public static final String ORDER_NOTIFY_TOPIC = Constant.NAME_SPACE + "order-notify-topic";
    /**
     * 订单采购成功 通知商家分账服务
     */
    public static final String ORDER_PURCHASE_NOTIFY_SHOP_TOPIC = Constant.NAME_SPACE + "order-purchase-notify-shop-topic";

    /**
     * 订单支付成功  通知其他服务 总topic(包括优惠券，库存，团购，秒杀，商家分账)
     */
    public static final String ORDER_NOTIFY_SERVICE_TOPIC = Constant.NAME_SPACE + "order-notify-service-topic";

    /**
     * 订单支付成功  通知优惠券服务
     */
    public static final String ORDER_NOTIFY_COUPON_GROUP = Constant.NAME_SPACE + "order-notify-coupon-group";

    /**
     * 订单支付成功  通知库存服务
     */
    public static final String ORDER_NOTIFY_STOCK_GROUP = Constant.NAME_SPACE + "order-notify-stock-group";

    /**
     * 订单支付成功  通知团购服务
     */
    public static final String ORDER_NOTIFY_GROUP_GROUP = Constant.NAME_SPACE + "order-notify-group-group";

    /**
     * 订单支付成功  通知秒杀服务
     */
    public static final String ORDER_NOTIFY_SECKILL_GROUP = Constant.NAME_SPACE + "order-notify-seckill-group";

    /**
     * 订单支付成功  通知商家分账服务
     */
    public static final String ORDER_NOTIFY_SHOP_GROUP = Constant.NAME_SPACE + "order-notify-shop-group";

    /**
     * 订单确认收货 通知自己然后向周围广播
     */
    public static final String ORDER_RECEIPT_TOPIC = Constant.NAME_SPACE + "order-receipt-topic";

    /**
     * 订单退款 通知自己然后向周围广播
     */
    public static final String ORDER_REFUND_TOPIC = Constant.NAME_SPACE + "order-refund-topic";

    /**
     * 订单退款 支付服务，开始进行退款啦
     */
    public static final String ORDER_REFUND_PAYMENT_TOPIC = Constant.NAME_SPACE + "order-refund-payment-topic";

    /**
     * 订单退款退款成功
     */
    public static final String ORDER_REFUND_SUCCESS_TOPIC = Constant.NAME_SPACE + "order-refund-success-topic";
    /**
     * 订单部分退款且订单关闭后结算的消息
     */
    public static final String ORDER_REFUND_SUCCESS_SETTLEMENT_TOPIC = Constant.NAME_SPACE + "order-refund-success-settlement-topic";

    /**
     * 订单退款 商家减少余额
     */
    public static final String ORDER_REFUND_SHOP_TOPIC = Constant.NAME_SPACE + "order-refund-shop-topic";

    /**
     * 退款还原库存
     */
    public static final String ORDER_REFUND_SUCCESS_STOCK_TOPIC = Constant.NAME_SPACE + "order-refund-success-stock-topic";

    /**
     * 退款成功  通知其他服务 总topic(包括优惠券，成长值，积分)
     */
    public static final String ORDER_REFUND_SUCCESS_SERVICE_TOPIC = Constant.NAME_SPACE + "order-refund-success-service-topic";

    /**
     * 退款成功  退款还原使用的优惠券
     */
    public static final String ORDER_REFUND_SUCCESS_COUPON_GROUP = Constant.NAME_SPACE + "order-refund-success-coupon-group";

    /**
     * 退款成功  确认收货订单退货退款还原用户成长值
     */
    public static final String ORDER_REFUND_SUCCESS_GROWTH_GROUP = Constant.NAME_SPACE + "order-refund-success-growth-group";

    /**
     * 退款成功  确认收货订单退货退款退款用户购物抵扣使用的积分
     */
    public static final String ORDER_REFUND_SUCCESS_SCORE_GROUP = Constant.NAME_SPACE + "order-refund-success-score-group";

    /**
     * 团购订单创建通知
     */
    public static final String GROUP_ORDER_CREATE_TOPIC = Constant.NAME_SPACE + "group-order-create-topic";

    /**
     * 团购订单取消
     */
    public static final String GROUP_ORDER_CANCEL_TOPIC = Constant.NAME_SPACE + "group-order-cancel-topic";
    /**
     * 拼团成团成功通知
     */
    public static final String GROUP_ORDER_SUCCESS_TOPIC = Constant.NAME_SPACE + "group-order-success-topic";

    /**
     * 拼团订单成团失败通知
     */
    public static final String GROUP_ORDER_UN_SUCCESS_TOPIC = Constant.NAME_SPACE + "group-order-un-success-topic";

    /**
     * 拼团失败进行退款
     */
    public static final String GROUP_ORDER_UN_SUCCESS_REFUND_TOPIC = Constant.NAME_SPACE + "group-order-un-success-refund-topic";

    /**
     * 秒杀订单创建通知
     */
    public static final String SECKILL_ORDER_CREATE_TOPIC = Constant.NAME_SPACE + "seckill-order-create-topic";

    /**
     * 秒杀订单取消
     */
    public static final String SECKILL_ORDER_CANCEL_TOPIC = Constant.NAME_SPACE + "seckill-order-cancel-topic";

    /**
     * 秒杀订单退款
     */
    public static final String SECKILL_ORDER_REFUND_TOPIC = Constant.NAME_SPACE + "seckill-order-refund-topic";

    /**
     * 订单支付成功 商家分账 总topic(包括分销分账，供应商分账，通知订单采购)
     */
    public static final String SHOP_WALLET_NOTIFY_SERVICE_TOPIC = Constant.NAME_SPACE + "shop-wallet-notify-service-topic";

    /**
     * 订单支付成功 商家分账 通知分销服务分账
     */
    public static final String ORDER_NOTIFY_DISTRIBUTION_GROUP = Constant.NAME_SPACE + "order-notify-distribution-group";

    /**
     * 订单支付成功 商家分账 通知供应商分账
     */
    public static final String ORDER_NOTIFY_SUPPLIER_GROUP = Constant.NAME_SPACE + "order-notify-supplier-group";

    /**
     * 订单支付成功 商家分账 通知订单进行采购
     */
    public static final String ORDER_NOTIFY_PURCHASE_GROUP = Constant.NAME_SPACE + "order-notify-purchase-group";

    /**
     * 分销金额计算完成 通知其他服务总topic(包括订单，商家)
     */
    public static final String DISTRIBUTION_NOTIFY_ORDER_SHOP_TOPIC = Constant.NAME_SPACE + "distribution-notify-order-shop-topic";

    /**
     * 分销金额计算完成 分销通知订单服务
     */
    public static final String DISTRIBUTION_NOTIFY_ORDER_GROUP = Constant.NAME_SPACE + "distribution-notify-order-group";

    /**
     * 分销金额计算完成 分销通知商家服务
     */
    public static final String DISTRIBUTION_NOTIFY_SHOP_GROUP = Constant.NAME_SPACE + "distribution-notify-shop-group";

    /**
     * 用户服务通知分销服务分销员修改分销员信息
     */
    public static final String USER_NOTIFY_DISTRIBUTION_USER_TOPIC = Constant.NAME_SPACE + "user-notify-distribution-user-topic";

    /**
     * 退款，商家钱包通知服务总topic(包括回退分销佣金，供应商减少未结算金额)
     */
    public static final String REFUND_SHOP_NOTIFY_SERVICE_TOPIC = Constant.NAME_SPACE + "refund-shop-notify-service-topic";

    /**
     * 退款，通知分销服务，回退分销佣金
     */
    public static final String REFUND_SHOP_NOTIFY_DISTRIBUTION_GROUP = Constant.NAME_SPACE + "refund-shop-notify-distribution-group";

    /**
     * 退款，通知供应商服务，供应商减少未结算金额
     */
    public static final String REFUND_SHOP_NOTIFY_SUPPLIER_GROUP = Constant.NAME_SPACE + "refund-shop-notify-supplier-group";


    /**
     * 用户充值成功
     */
    public static final String USER_RECHARGE_NOTIFY_TOPIC = Constant.NAME_SPACE + "user-recharge-notify-topic";

    /**
     * 商家充值成功
     */
    public static final String SHOP_RECHARGE_NOTIFY_TOPIC = Constant.NAME_SPACE + "shop-recharge-notify-topic";

    /**
     * 购买会员成功
     */
    public static final String BUY_VIP_NOTIFY_TOPIC = Constant.NAME_SPACE + "buy-vip-notify-topic";

    /**
     * 余额支付
     */
    public static final String BALANCE_PAY_TOPIC = Constant.NAME_SPACE + "balance-pay-topic";

    /**
     * 批量用户注册事件
     */
    public static final String BATCH_USER_REGISTER_TOPIC = Constant.NAME_SPACE + "batch-user-register-topic";

    /**
     * 发送给用户的消息（订单支付成功、发货、退款同意、退款拒绝） 通知消息服务
     */
    public static final String SEND_NOTIFY_TO_USER_TOPIC = Constant.NAME_SPACE + "send-notify-to-user-topic";

    /**
     * 推送用户积分、成长值增加的通知
     */
    public static final String SEND_NOTIFY_TO_USER_EXTENSION_TOPIC = Constant.NAME_SPACE + "send-notify-to-user-extension-topic";

    /**
     * 发送事件进行添加商品库存初始化记录
     */
    public static final String STOCK_BILL_LOG_TOPIC = Constant.NAME_SPACE + "stock-bill-log-topic";

    /**
     * 发送店铺消息（订单确认收货、买家发起退款、买家已退货） 通知消息服务
     */
    public static final String SEND_NOTIFY_TO_SHOP_TOPIC = Constant.NAME_SPACE + "send-notify-to-shop-topic";

    /**
     * 发送店铺消息（收款码订单确认） 通知消息服务
     */
    public static final String SEND_QRCODE_NOTIFY_TO_SHOP_TOPIC = Constant.NAME_SPACE + "send-qrcode-notify-to-shop-topic";

    /**
     * 发送商品下架、审核、变更相关消息给店铺
     */
    public static final String SEND_PRODUCT_NOTIFY_TO_SHOP_TOPIC = "send-product-notify-to-shop-topic";

    /**
     * 发送订单待采购提醒给店铺
     */
    public static final String SEND_ORDER_TO_PURCHASE_NOTIFY_TO_SHOP_TOPIC = "send-order-to-purchase-notify-to-shop-topic";

    /**
     * 发送营销活动下线消息给店铺
     */
    public static final String SEND_ACTIVITY_OFFLINE_NOTIFY_TO_SHOP_TOPIC = "send-activity-offline-notify-to-shop-topic";

    /**
     * 发送营销活动审核消息给店铺
     */
    public static final String SEND_ACTIVITY_AUDIT_NOTIFY_TO_SHOP_TOPIC = "send-activity-audit-notify-to-shop-topic";
    /**
     * 发送开团成团相关通知给用户（开团成功、拼团成功、拼团失败）
     */
    public static final String SEND_GROUP_NOTIFY_TO_USER_TOPIC = Constant.NAME_SPACE + "send-group-notify-to-user-topic";

    /**
     * 订单15天通知店铺进行结算
     */
    public static final String ORDER_SETTLED_SHOP_TOPIC = Constant.NAME_SPACE + "order-settled-shop-topic";
    /**
     * 积分解锁topic
     */
    public static final String SCORE_UNLOCK_TOPIC = Constant.NAME_SPACE + "score-unlock-topic";
    /**
     * 订单部分退款且订单关闭后供应商结算的消息
     */
    public static final String ORDER_REFUND_SUCCESS_SETTLEMENT_SUPPLIER_TOPIC = Constant.NAME_SPACE + "order-refund-success-settlement-supplier-topic";

    /**
     * 订单15天通知供应商进行结算
     */
    public static final String ORDER_SETTLED_SUPPLIER_TOPIC = Constant.NAME_SPACE + "order-settled-supplier-topic";

    /**
     * 通知库存添加一条出库明细
     */
    public static final String OUT_STOCK_LOG_TOPIC = Constant.NAME_SPACE + "out-stock-log-topic";

    /**
     * 添加店铺钱包日志列表信息到mongodb
     */
    public static final String ADD_SHOP_WALLET_LOG_TOPIC = Constant.NAME_SPACE + "add-shop-wallet-log-topic";

    /**
     * 店铺余额充值回调更新日志
     */
    public static final String UPDATE_SHOP_RECHARGE_SUCCESS_TOPIC = Constant.NAME_SPACE + "update-shop-recharge-success-topic";

    /**
     * 添加供应商钱包日志列表信息到mongodb
     */
    public static final String ADD_SUPPLIER_WALLET_LOG_TOPIC = Constant.NAME_SPACE + "add-supplier-wallet-log-topic";

    /**
     * 订单超时未支付尾款 商家结算
     */
    public static final String ORDER_PRE_SALE_FAIL_SETTLEMENT_TOPIC = Constant.NAME_SPACE + "order-pre-sale-fail-settlement-topic";

    /**
     * 套餐商品sku项状态变为删除或者失效时移除用户购物车中的商品
     */
    public static final String COMBO_SKU_STATUS_TOPIC = Constant.NAME_SPACE + "combo-sku-status-topic";

    /**
     * 保存套餐订单
     */
    public static final String SAVE_COMBO_ORDER = Constant.NAME_SPACE + "save-combo-order";

    /**
     * 套餐删除或者失效时移除优化购物车套餐商品
     */
    public static final String COMBO_DELETE_OR_DISABLED = Constant.NAME_SPACE + "combo-delete-or-disabled";

    /**
     * 预售订单-尾款时间过期未支付时的处理
     */
    public static final String PRESALE_ORDER_CANAL_TOPIC = Constant.NAME_SPACE + "presale-order-canal-topic";
    /**
     * 订单支付成功处理套餐订单消息
     */
    public static final String COMBO_ORDER_TOPIC = Constant.NAME_SPACE + "combo-order-topic";


    /**
     * 取消申请超时的订单，无论该超时订单处于任何状态
     */
    public static final String ORDER_REFUND_CANAL_TOPIC = Constant.NAME_SPACE + "order-refund-canal-topic";

    /**
     * 供应商品信息更新
     */
    public static final String SUPPLIER_PRODUCT_UPDATE = Constant.NAME_SPACE+ "supplier-product-update-topic";

    /**
     * 套餐商品起搭数量修改时同步更新用户购物车套餐商品数量
     */
    public static final String COMBO_SPU_COUNT_CHANGE = Constant.NAME_SPACE + "combo-spu-count-change";
}
